474044f6e0d6b436f417708cc047140fb7180461,NoHttp/src/com/yolanda/nohttp/BasicConnection.java,BasicConnection,setHeaders,#URI#HttpURLConnection#ImplServerRequest#,98

Before Change



		// 4.Add cookie to headers
		try {
			headers.addCookie(uri, NoHttp.getDefaultCookieManager());
		} catch (IOException e) {
			Logger.e(e);
		}

After Change


	@TargetApi(Build.VERSION_CODES.KITKAT)
	private void setHeaders(URI uri, HttpURLConnection connection, ImplServerRequest request) throws IOException {
		// 1.Build Headers
		Headers headers = request.headers();

		// 2.Set content Length
		if (request.doOutPut()) {
			long contentLength = request.getContentLength();
			if (contentLength < Integer.MAX_VALUE && contentLength > 0)
				connection.setFixedLengthStreamingMode((int) contentLength);
			else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
				connection.setFixedLengthStreamingMode(contentLength);
			else
				connection.setChunkedStreamingMode(256 * 1024);
			headers.set(Headers.HEAD_KEY_CONTENT_LENGTH, Long.toString(contentLength));
		}

		// 3.Base header
		// to fix bug: accidental EOFException before API 19
		if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT)
			headers.set(Headers.HEAD_KEY_CONNECTION, Headers.HEAD_VALUE_CONNECTION_KEEP_ALIVE);
		else
			headers.set(Headers.HEAD_KEY_CONNECTION, Headers.HEAD_VALUE_CONNECTION_CLOSE);

		headers.set(Headers.HEAD_KEY_ACCEPT_ENCODING, Headers.HEAD_VALUE_ACCEPT_ENCODING);
		headers.addCookie(uri, NoHttp.getDefaultCookieHandler());
		headers.set(Headers.HEAD_KEY_CONTENT_TYPE, request.getContentType());
		headers.set(Headers.HEAD_KEY_USER_AGENT, request.getUserAgent());